# The following are the menu entries and their titles:
M0:StrongBS
M1:Info
M2:Squash options
M3:Make faster
M4:Squash mode
M5:3rd party options
M6:Library files
M7:Log
M8:Choices...
M9:Free memory
M10:Quit
M20:Assembly
M21:Routines
M22:Variables
M23:Convert
M24:Concatenate
M25:Remove
M26:REMarks
M27:Constructs
M28:Misc
M200:Remove assembler remarks
M201:Remove zero shifts
M202:Remove ALIGN directives
M203:Convert register names
M204:Convert SWI names
M205:Convert directives
M206:Convert zero offsets
M207:Convert register list
M208:Convert to shortest directives
M209:Concatenate directives
M20A:Assemble into Code (ßeta)
M210:Rename functions
M211:Rename procedures
M212:Remove unused functions
M213:Remove unused procedures
M214:Remove empty procedures
M220:Rename Integer variables
M221:Rename Real variables
M222:Rename String variables
M223:Rename Integer arrays
M224:Rename Real arrays
M225:Rename String arrays
M226:Rename vars in DATA lines
M227:Remove unused variables
M230:SYS names to numbers
M231:CHR$ to string
M232:ASC" " to number
M233:NEXT <var> to NEXT or NEXT,,
M234:-1 to TRUE
M235:Numbers to shortest form
M236:Memory operators to shortest
M237:Repeated spaces to SPC
M238:Repeated chars to STRING$
M239:*FX to SYS "OS_Byte"
M240:Lines
M241:LOCAL lines
M242:DIM lines
M243:DATA lines
M244:IF...ENDIF lines
M245:Strings
M246:READ statements
M247:VDU statements
M248:PRINT statements
M250:Remarks
M251:Garbage lines
M252:Blank lines
M253:Spaces
M254:Brackets
M255:Excess colons
M256:Fractions
M257:"Not equal" sign
M258:THEN
M259:LEN
M25A:LET
M25B:STEP
M25C:SYS
M25D:Debug code
M25E:±0 assignments
M260:Keep first REM line
M261:Keep initial REM lines
M262:Keep REM starting with
M263:Insert REMarks file
M270:Remove empty IF construct
M271:Remove empty CASE construct
M272:Remove duplicate WHEN statements
M273:Remove empty WHEN
M274:Remove empty OTHERWISE
M275:Convert CASE to IF construct
M276:Concatenate WHEN statements
M280:Evaluate expressions
M281:Line numbering
M282:Insert Squash info
M283:Auto append Libraries
M30:Convert 0 to FALSE
M31:Convert DIV to >>>
M32:Convert AND to IF
M33:Convert real vars to integers
M40:Create new Squash mode
M41:Clear all options
M42:Full options
M43:Full including 3rd party
M44:Custom options
M50:Info
M70:Variables statistics
M71:Removed variables
M72:Removed routines
M73:Undefined routines
MS0:Output as
MS1:BASIC
MS2:Absolute
MS3:Absolute and Crunched
MS4:Preserve command parameters
# Error and warning messages start here
E0:Insufficient memory to load file - Please use the Task Manager and retry.
E1:Sorry, this is NOT a tokenised BASIC file. StrongBS will only accept tokenised BASIC program files.
E2:Your BASIC file contains
E3:You have selected variables renaming and havn't loaded any Special file! The output compressed file MAY fail to work as expected.
E4: %0 an EVAL function. %1
E5: %0 line reference by variable. %1
E6: %0 a RESTORE +<No. offset> statement.
E7: %0 a LIBRARY call, and have selected to rename variables or procedures. The output compressed BASIC program will not work. This version of StrongBS does not auto-append libraries.
E8: %0 an OVERLAY call. %1
#E9:To start, drop a BASIC program file into StrongBS window or its icon.
E10:You can not save an un-compressed file. Please hit the Squash button to start squashing.
E11:You need to enter a "Mode Title" before pressing the "Save" button. Try again later...
E12:You need to enter a "Filename" before pressing the "Save" button. Try again later...
E13:Mode definition file (%0) can not be located in the current modes directory!
E14:Insufficient RAM to load into StrongBS - Please use the Task Manager and retry.
E15:Ram transfer failed!
E16:Transfer Error: No room!
E17:To save the compressed output file, drag its icon to an open directory viewer.
E18: (Internal error code %0)/%1
E19:Sorry, this is NOT a BASIC file. StrongBS will only accept tokenised BASIC program files.
E20:Sorry, this is NOT a recognised "Special" file. A "Special" file contains special keyword identifiers that must be recognised by StrongBS.
E21: Variables passed to the EVAL function in a string form should be LOCKED from being renamed. See Manual for more details.
E22:To load a Special file, please do it after loading your source BASIC program file. The current BASIC file is already done!
E23:Sorry, the current BASIC file has already been squashed upon your request without the required Special File!
E24:You should have loaded the Special file after loading the source BASIC program file and before starting to squash!
E25:To load a Special file, please do it after loading your source BASIC program file.
E26:Please see the documentation for more details.
E27:Sorry, this BASIC program file seems corrupted!
E28:Your BASIC file also contains
E29: You need to append all required libraries to your main BASIC program and remove the LIBRARY call from the main program.
E30: StrongBS will replace all RESTORE +<No. offset> with RESTORE+0. 99.99% of the time, this will work. You should give it a try!
E33:Error in "SBSMake" file! <SBSLinkDir:> token points to an invalid pathname.
E34:Error in "SBSMake" file! <SBSLinkDir:> token doesn't point to a directory name.
ERINTL:Sorry, your source BASIC program got corrupted at line no. %0.
ERINT0:(Corrupt Source program - StrongBS fault.)
ERINT1:Please don't try to re-squash this program, re-load it an squash it once only. Assembly listing generated too long line.
ERINT2:(Contains an unknown SWI/SYS call.)
ERINT3:
ERINT4:
ERINT5:(Result file expanding - StrongBS fault.)
ERINT6:(Too many ELSE statements)
# General messages start here
Msg1:Squashing...
Msg2:Squashed
Msg3:Squash
Msg4:Re-Squashing
# Interactive help messages start here
Hx0:StrongBS main menu.|MMove right to display
Hx1:StrongBS Squash Options menu.|MMove right to display
Hx2:|MThis option is not yet enabled in this version of StrongBS.
H0: StrongBS info window.
H00:This is StrongBS information window.
H1: the Squash Options menu.
H10: the assembler listings Squash Options.
H100:Remove assembler remarks in assembler listings.|MREMarks outside assembler listings are not affected.
H101:Remove LSR#0 and LSL#0.
H102:Remove unnecessary ALIGN directives.|MALIGN directives are not required if an instructions follows them.
H103:Convert register names such as R0, R1 and PC into numbers.
H104:Convert SWI names into numbers.
H105:Convert the EQUD, EQUB and EQUW directives into the shorter alternatives DCD, DCB and DCW.
H106:Convert LDR/STR Rd,[Rn,#0] or LDR/STR Rd,[Rn],#0 into LDR/STR Rd,[Rn].
H107:Convert LDM/STM Rn,{R0,R1,R3,R4,PC} into LDM/STM Rn,{R0-R4,PC}.
H108:Convert EQUD and DCD directives into &.|MConvert EQUS, EQUB and DCB directives into =.
H109:Concatenate EQUD, DCD, &, EQUB, DCB, EQUW, DCW, EQUS, = and CHR$ to produce new shorter equivalent.
H10A:Assembler instruction mnemonics are assembled into the equivalent 32-bit value using the & (EQUD) directive.
H11: functions and procedures Squash Options.
H110:Rename functions into shortest.
H111:Rename procedures into shortest.
H112:Remove all uncalled and unused functions.
H113:Remove all uncalled and unused procedures.
H114:Remove all empty procedures.
H12: variables Squash Options.
H120:Rename integer variables.
H121:Rename real (floating) variables.
H122:Rename string variables.
H123:Rename integer array variables.
H124:Rename real array variables.
H125:Rename string array variables.
H126:Rename variables inside DATA lines providing the variable exists in the rest of the program.
H127:Remove all unused variables.|MUnused variables are those defined or used only once.
H13: conversion options menu.
H130:Convert SWI names in SYS calls into numbers.
H131:Convert CHR$<number> into an equivalent shorter string.
H132:Convert ASC<string> into a number.
H133:Convert NEXT token into the shortest form.
H134:Convert the number -1 into the token TRUE.
H135:Convert numbers into shortest equivalent.
H136:Convert memory indirection operators into the shortest possible form.
H137:Convert repeated spaces into SPC.
H138:Convert repeated characters into STRING$.
H139:Convert *FX calls into OS_Byte (SYS 6) calls.
H14: concatenation options menu.
H140:Concatenate listing statements and lines.
H141:Concatenate LOCAL statements and LOCAL lines.
H142:Concatenate DIM statements and DIM lines.
H143:Concatenate DATA statements and DATA lines.
H144:Concatenate IF...THEN...ELSE...ENDIF lines.
H145:Concatenate strings.
H146:Concatenate READ statements and READ lines.
H147:Concatenate VDU statements.
H148:Concatenate PRINT statements.
H15: the removals options menu.
H150:Remove all REMark lines and statements.|MThis will also remove *Command remarks.|MThis will not affect remarks in an assembly listing.
H151:Remove garbage (useless) lines that are never executed.
H152:Remove all blank and empty lines.
H153:Remove all unnecessary spaces.
H154:Remove all unnecessary brackets.
H155:Remove all unnecessary colons between statements.
H156:Remove all unnecessary digits in floating (real) number fractional part.
H157:Remove all unnecessary Not-Equal (<>) signs.
H158:Remove all unnecessary THEN keywords used in IF THEN construct.
H159:Remove ">0" in IF LEN expression >0.
H15A:Remove all LET keywords.
H15B:Remove all unnecessary STEP keywords.
H15C:Remove all unnecessary zeros in SYS statements.
H15D:Remove all defined marked debug code.|MA code bracketed between the REM --[ and REM ]-- will be removed.
H15E:Removes unnecessary +0 or -0 in simple assignments.
H15E0:Remove empty IF...ENDIF constructs.
H15E1:Remove empty CASE...ENDCASE constructs.
H15E2:Remove empty WHILE...ENDWHILE constructs.
H16: Remarks options menu.
H160:Keep the first REM line in the BASIC program.
H161:Keep all REM lines at the start of the BASIC program.
H162:Keep all lines starting with REM xxx, where xxx can be be any string.
H1620:Enter string after REM to identify REM line with.|MDo not enter the REM word itself!
H163:Move right to display installed REMark files.
H1630:Select one of these files to insert at the start of the compressed output file.
H17: Constructs options menu.
H170:Removes empty IF..ENDIF constructs.
H171:Removes empty CASE..ENDCASE constructs.
H172:Removes duplicate WHEN statements.
H173:Removes empty/unused WHEN statements.
H174:Removes empty/unused OTHERWISE statements.
H175:Convert CASE...ENDCASE to IF...ENDIF constructs.
H176:Concatenate WHEN statements in CASE...ENDCASE constructs.
H18: the other miscellaneous Options.
H180:Evaluate mathematical expressions.
H181:Automatic line numbering with increments of 10 if possible.
H182:Insert the string: "Squashed by StrongBS on (date)" at the start of the compressed output file.
H183:Append Libraries automatically.
H2: the Make Faster squash option.
H20:Convert all 0's to FALSE token.
H21:Convert DIV tokens to >>> operator.
H22:Convert AND to IF.
H23:Convert real variables into integers.
H3:Move right to select and create Squash modes.
H30:Move right to create a new Squash mode.
H300:This window allows you to define and create new Squash modes.
H31:Click SELECT to clear all currently selected options.
H32:Click SELECT to select all Squash options.|MThis will not include any 3rd party option.
H33:Click SELECT to select all Squash options including all 3rd party options.
H34:This is the default Squash mode.|MIt is automatically selected when no other mode is selected.
H3X:Select one of these pre-loaded Squash modes.
H4: installed 3rd party Squash Options
H40:Click SELECT to open the 3rd party information window.
H4X:Select one or more of the 3rd party Squash Options.
H5: list of library files pointed by the "StrongBS$Library" variable.
H50:Select one or more files to auto-append to your source BASIC program.|MThese files will be compressed along with the main program.
H6: the Log menu.
H60:Log variables' statistical information.
H61:Log information on any removed variables.
H62:Log removed routine names.
H63:Log undefined routine names.
H7:Click SELECT to open the Choices window.
H8:Click SELECT to free all memory used by StrongBS.|M **Note** you will lose any an saved squashed file by doing this.
H9:Click SELECT to QUIT StrongBS.
HSA:Select this option to save the output file as
HS0: a BASIC StrongBS' squashed file.
HS1: an Absolute BASIC squashed file.
HS2: an Absolute StrongBS squashed file further squeezed by !Crunch utility from Bernard Jungen.
HS3: an absolute type (i.e one of the options above) and preserve the command line parameters.
Hw0:This is StrongBS main window.|MDrag a file over this window to Squash it.